package com.thinta.wind.utils

import android.content.Context
import android.content.SharedPreferences
import com.google.gson.Gson

/*********************************************************
 * 版权信息：2021/6/29 10:59北京振中电子技术有限公司版权所有<p>
 * 创建作者：Wind<p>
 * 创建日期：2021/6/29 10:59<p>
 * *******************************************************<p>
 * 更新历史：    作者      日期      更新摘要<p>
 * <p>
 * *******************************************************<p>
 * 类功能说明：<p>
 */
object PreferenceUtils {

    private lateinit var editor: SharedPreferences.Editor
    private lateinit var sp: SharedPreferences

    const val USER_INFO = "USER_INFO"

    fun init(context: Context, spName: String){
        sp = context.getSharedPreferences(spName, Context.MODE_PRIVATE)
        editor = sp.edit()
        editor.apply()
    }

    fun remove(key : String){
        editor.remove(key).apply()
    }

    fun setObject(key: String?, obj : Any){
        val str = Gson().toJson(obj, obj.javaClass)
        editor.putString(key, str)
        editor.commit()
    }

    fun getObject(key: String?, clazz: Class<*>) : Any?{
        val str = sp.getString(key, "")
        if(str != null && str.isNotEmpty()){
            return Gson().fromJson(str, clazz)
        }
        return null
    }

}